package com.chezhujie.www.service;

import com.chezhujie.www.core.exception.ClassCheckException;
import com.chezhujie.www.core.page.Pagination;
import com.chezhujie.www.domain.Czjorderdetail;
import com.chezhujie.www.domain.Czjorderdistribution;
import com.chezhujie.www.persistence.CzjorderdetailMapper;
import com.chezhujie.www.utils.UUIDUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ui.ModelMap;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;


/**
 * 订单详情表
 * Created by 汤伟杰 on 2017/5/23.
 */
@Service
public class CzjorderdetailService {
    @Autowired
    private CzjorderdetailMapper czjorderdetailMapper;

    public Pagination list(int pageNo, int pageSize, Map<String, Object> params, ModelMap model) throws Exception {

        Pagination pagination = new Pagination();
        pagination.setPageNo(pageNo);
        pagination.setPageSize(pageSize);
        params.putAll(pagination.toMap());
        int count = czjorderdetailMapper.getTotalRows(params);
        List<Map<String, Object>> list = czjorderdetailMapper.getList(params);
        pagination.setTotalCount(count);
        pagination.setList(list);
        return pagination;
    }


    public void insert(Czjorderdetail czjorderdetail){
        if(StringUtils.isBlank(czjorderdetail.getId())){
        czjorderdetail.setId(UUIDUtils.getUUID());
        }
        czjorderdetailMapper.insert(czjorderdetail);
    }

    public void update(Czjorderdetail czjorderdetail){
        czjorderdetailMapper.update(czjorderdetail);
    }
    public void deleteById(String id){
        czjorderdetailMapper.deleteById(id);
    }
    public void deleteByIds(List<String> list){
        czjorderdetailMapper.deleteByIds(list);
    }
    public Czjorderdetail queryById(String id){
        return czjorderdetailMapper.queryById(id);
    }
    public List<Czjorderdetail> queryByIds(List<String> list){
        List<Czjorderdetail> listCzjorderdetail = czjorderdetailMapper.queryByIds(list);
        if(listCzjorderdetail==null){
            listCzjorderdetail = new ArrayList<Czjorderdetail>();
        }
        return listCzjorderdetail;
    }
    public List<Map<String,Object>> getListCommodityId(Map<String, Object> param) {
        return czjorderdetailMapper.listCommodityId(param);
    }

    public void checkEntity(Czjorderdetail czjorderdetail) throws Exception {
            if(czjorderdetail.getOrderCode()!=null&&czjorderdetail.getOrderCode().length()>25){
                throw new ClassCheckException("订单详情表订单编号不能超过25个字符");
            }


    }

    public Czjorderdetail queryByCode(String orderno) {
        return czjorderdetailMapper.queryByCode(orderno);
    }
    public void saves(List<Czjorderdetail> list){
        if(list!=null&&list.size()>0){
            czjorderdetailMapper.saves(list);
        }

    }

    public List<Map<String,Object>> getListBy(Map<String, Object> param) {
        return czjorderdetailMapper.getList(param);
    }
}
